/*******************************************************************************
* CHIPSEA F61 STATIC REGISTERS HAL
*******************************************************************************/

#include "hal_aw_86802_reg.h"

#ifdef AW_86802

#include <string.h>

#include "data_table.h"
#include "user_interface.h"

///////////////////////////////////////////////////////////////////////////////////////////////////

void hal_static_reg_init(void)
{
	// uint32_t CPUID	= System_ReadChipCPUID();
	// uint32_t PDID	= System_ReadChipPDID();
	// uint32_t RSTSRC = System_ReadChipRstSrc();
	// System_ClearChipRstSrc();

	// memcpy(&(st_reg_mcu_id.data[0]), (void const *)(&CPUID), 4);
	// memcpy(&(st_reg_mcu_id.data[4]), (void const *)(&PDID), 4);
	// memcpy(&(st_reg_rst_src.data[0]), (void const *)(&RSTSRC), 4);
	
	/////////////////////////////////////////////////////////////////////////////////
}

#define SOFT_VERSION_R_LEN 14
#define SOFT_VERSION_W_LEN 0

u8 soft_version_table[14] = {0x00,0x01,0x18,0x01,0x02,0x05,0x00,0x01,0x00,0x00};

static u8 check_sum_cmd(u8 *buf, AW_U16 len)
{
	u8 sum_data = 0;
	u16 i = 0;

	for (i = 0; i < len; i++) 
	{
		sum_data += buf[i];
	}

	return sum_data;
}

void hal_uboot_read_fw_vresion(void)
{
	soft_version_table[10] = CUS_SUB_VER;
	soft_version_table[11] = CUS_MAIN_VER;
	soft_version_table[12] = NDT_SUB_VER;
	soft_version_table[13] = NDT_MAIN_VER;

	soft_version_table[8] = check_sum_cmd(&soft_version_table[9], 0x05);
	soft_version_table[0] = check_sum_cmd(&soft_version_table[1], 0x08);

	st_iic.data_ptr = soft_version_table;
	st_iic.r_count = SOFT_VERSION_R_LEN;
	st_iic.w_count = SOFT_VERSION_W_LEN;
}

///////////////////////////////////////////////////////////////////////////////////////////////////

#endif /* End of CS_F61 */
